Implementing JTAG compliant devices on integrated circuits (ICs) is an industry trend. The Institute of Electrical and Electronics Engineers, Inc. (IEEE) publishes a variety of specifications, such as the IEEE 1149.1 standard, published in 1999, which is hereby incorporated by reference in its entirety. An IEEE 1149.1 compliant device has an identification (ID) code register. The identification code register is a 32-bit register that allows the manufacturer, part number, and version of a device to be determined using the JTAG protocol. The IEEE standard 1149.1 permits implementation of a unique ID code for devices differing from each other only in packages or metal options.
Referring to FIG. 1, a block diagram of a JTAG test access port (TAP) 10 is shown. The test access port 10 has an input 12 that receives a test data input (TDI), an input 14 that receives a test clock signal (TCK), an input 16 that receives a test mode select signal (TMS), an input 18 that receives a test reset signal (TRST), and an output 20 that presents a test data output signal (TDO). The test access port 10 can have a number of registers 22a-22f and a TAP controller 24. The registers 22a-22f can receive the signal TDI and present the signal TDO. The TAP controller 24 controls the sequence of operations of the test access port 10 in response to the signals TCK, TMS and TRST.
The register 22d is a 32-bit ID code register. The ID code register can contain 32 bits that identify that part number, version, and manufacturer's identity for the device containing the test access port 10.
Referring to FIG. 2, a more detailed block diagram of the register 22d of FIG. 1 is shown. The ID code register 22d has a portion 26, a portion 28, a portion 30, and a portion 32. The portion 26 contains 4 bits identifying the version number of silicon die of the IEEE 1149.1 compliant device. The portion 28 contains 11 bits that identify the manufacturer of the die using a compact form of the JEDEC identification code. The portion 30 contains a single bit (i.e., the least significant bit of the ID code register 22d). The portion 30 is always set to a binary 1. The portion 30 indicates the presence of the ID code register in a IEEE 1149.1 compliant device. The portion 32 contains 16 bits that represent a unique part number for the device. In a conventional device, the portions 26-30 are hard coded and the portion 32 consists of a combination of hard coded bits and bond encoded bits.
The use of hard coded bits and bond encoded bits can produce a unique identification code for devices differing from each other only in packages or metal options. The device ID cannot be changed after fabrication is complete.
When a single combination of die and package can be sold as separate IEEE 1149.1 compliant parts, multiple device IDs are required. The use of hard coded and bond option encoded ID bit does not allow a single combination of die and package to have multiple ID codes.